package com.bestcem.xm.user.util.convert;

import com.bestcem.xm.user.entity.mysql.UserPrivateKey;
import com.bestcem.xm.user.entity.pojo.UserPrivateKeyDO;
import com.bestcem.xm.user.service.dto.user.UserPrivateKeyDTO;
import org.mapstruct.Mapper;

/**
 * 用户公钥私钥转换类
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2022/3/24 14:50
 */
@Mapper(componentModel = "spring")
public interface UserPrivateKeyConvert {

    /**
     * mysql对象转do对象
     *
     * @param userPrivateKey mysql实体对象
     * @return com.bestcem.xm.user.entity.pojo.UserPrivateKeyDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:53
     */
    UserPrivateKeyDO mysql2Do(UserPrivateKey userPrivateKey);

    /**
     * do对象转mysql对象
     *
     * @param userPrivateKeyDO do对象
     * @return com.bestcem.xm.user.entity.mysql.UserPrivateKey
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:54
     */
    UserPrivateKey do2Mysql(UserPrivateKeyDO userPrivateKeyDO);

    /**
     * do对象转dto对象
     *
     * @param userPrivateKeyDO do对象
     * @return com.bestcem.xm.user.service.dto.user.UserPrivateKeyDTO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:54
     */
    UserPrivateKeyDTO do2Dto(UserPrivateKeyDO userPrivateKeyDO);

    /**
     * dto对象转do对象
     *
     * @param userPrivateKeyDTO dto对象
     * @return com.bestcem.xm.user.entity.pojo.UserPrivateKeyDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:55
     */
    UserPrivateKeyDO dto2Do(UserPrivateKeyDTO userPrivateKeyDTO);

}
